<?php


namespace app\common\validate\merchant;


use yiqiniu\extend\validate\YqnValidate;

/**
 * 商户商品分类
 * Class ProductClass
 * @package app\common\validate
 */
class ProductClassValid extends YqnValidate
{

    /**
     *  字段：'id'，    类型：'bigint',    是否为空：1,    说明：分类ID
     *  字段：'mer_id'，    类型：'character varying(20)',    是否为空：1,    说明：商户ID
     *  字段：'title'，    类型：'character varying(30)',    是否为空：1,    说明：商品名称
     *  字段：'pid'，    类型：'bigint',    是否为空：1,    说明：父节点ID
     *  字段：'child'，    类型：'smallint',    是否为空：1,    说明：子节点数
     *  字段：'depth'，    类型：'smallint',    是否为空：1,    说明：深度
     *  字段：'sort'，    类型：'integer',    是否为空：1,    说明：排序,越大越前
     *  字段：'op_user'，    类型：'integer',    是否为空：1,    说明：操作人
     *  字段：'create_at'，    类型：'timestamp(0) without time zone',    是否为空：,    说明：创建时间
     *  字段：'update_at'，    类型：'timestamp(0) without time zone',    是否为空：,    说明：更新时间
     */

    /**
     *  验证规则
     */
    protected $rule = [
        'id' => 'require|number|dbExists:product_class,id',
        'mer_id' => 'require',
        'title' => 'require',
        'pid' => 'require|number',
        'child' => 'require|number',
        'depth' => 'require|number',
        'sort' => 'require|number',
        'op_user' => 'require|number',
        'create_at' => 'date',
        'update_at' => 'date',


    ];

    /**
     * 定义错误信息
     * 格式：'字段名.规则名'    =>    '错误信息'
     *
     * @var array
     */
    protected $message = [
        'id.require' => '分类ID不能为空',
        'id.dbExists' => '分类不存在',
        'id.number' => '分类ID只能为数字类型',
        'mer_id.require' => '商户ID不能为空',
        'title.require' => '商品名称不能为空',
        'pid.require' => '父节点ID不能为空',
        'pid.number' => '父节点ID只能为数字类型',
        'child.require' => '子节点数不能为空',
        'child.number' => '子节点数只能为数字类型',
        'depth.require' => '深度不能为空',
        'depth.number' => '深度只能为数字类型',
        'sort.require' => '排序,越大越前不能为空',
        'sort.number' => '排序,越大越前只能为数字类型',
        'op_user.require' => '操作人不能为空',
        'op_user.number' => '操作人只能为数字类型',
        'create_at.date' => '创建时间只能为日期类型',
        'update_at.date' => '更新时间只能为日期类型',


    ];

    //验证场景
    protected $scene = [
        'class_info' => ['id'],
        'class_del' => ['id'],
        'class_save' => ['pid','title'],
        'class_save_sort' => ['id','sort'],
    ];
}
